﻿using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

namespace CkSoftware.GroupMe.Sdk.Core.Dao
{
	/// <summary>
	/// Abstract base class for all GroupMe message attachments.
	/// </summary>
	public abstract class GroupMeAttachmentBase
	{
		/// <summary>
		/// Defines the type of the attachment implementation.
		/// </summary>
		[JsonProperty(PropertyName = "type")]
		[JsonConverter(typeof (StringEnumConverter))]
		public abstract AttachmentType Type { get; }

		/// <summary>
		/// Defines if the attachment is inline (inside the text) or seperated from the text.
		/// </summary>
		public virtual bool IsInlineAttachment
		{
			get { return false; }
		}
	}
}